Database management systems (DBMSs) are generally used to allow users and applications to interact with data stored in databases. For example, DBMSs allow databases to be defined and data in such databases to be created, queried, updated, removed, etc. Different DBMSs can process commands differently. In some cases, when a DBMS receives a query for a database, the DBMS may generate one or more query execution plans that specifies operations for accessing data in the database. The DBMS then selects an optimum query execution plan and executes it in order to generate the results of the query. The DBMS then returns the results of the query to the requestor.